cutom gate
PLONKish 回路のゲートは相対参照でセルを参照する。
つまり、ゲートのセレクタが設定されたものから相対的に、ある列とあるオフセットにある行のセルを参照するのだ。
オフセットがゼロでない場合、これをオフセット参照と呼ぶ(つまり、オフセット参照は相対参照のサブセットである)
相対参照は、等号制約で使用される絶対参照とは対照的で、任意のセルを指すことができる。
オフセット参照により、構成に必要な列の数を減らし、証明のサイズを小さくすることができる。
オフセット参照がない場合、cutom gateによって参照される各値を保持する列が必要になり、回路の他のセルからその列に値をコピーするために等値性制約を使用する必要があります。
オフセット参照を使えば、必要なカラム数が少なくなるだけでなく、すべてのカラムで等値性制約をサポートする必要がなくなるので、効率が向上する。
R1CSでは、回路は意味的に重要な順序を持たない「ゲートの海」で構成されている
一方、PLONK的な回路では、オフセット参照があるため、行の順序が重要です。回路構築の大部分を行うガジェットレベルで、相対参照やゲート配置を明示的に扱う必要がないようにすることが目的です。
回路を領域(region)に分割し、各regionはセルの不連続な部分集合を含み、相対参照はregion内のみを指すようにします。
チップ実装の責任の一部は、オフセット参照を行うゲートが領域内の正しい位置にレイアウトされていることを保証することである。
regionとその形状のセットが与えられたら、各regionをどこに(つまり、どの開始行に)配置するかを決めるために、別のフロアプランアルゴリズムを使用する。
フロアプランニングは一般に、行列にギャップを残します。ある行のゲートが、利用可能なすべての列を使わなかったからです。この隙間は、オフセット参照を必要としないゲートで可能な限り埋められ、これによりどの行にもゲートを配置することができます。
チップはルックアップテーブルを定義することもできます。同じルックアップ引数に対して複数のテーブルが定義されている場合、タグ列を使用して、各行でどのテーブルを使用するかを指定することができます。また、複数のテーブルの和集合でルックアップを実行することも可能です(多項式次数境界( polynomial degree bound)による制限あり)。